attribute vec3 aPos;
attribute vec3 aNor;
attribute vec3 aColor;
attribute float aVisible;

//Basic
uniform mat4 uVMat;
uniform mat4 uPMat;

//For lightning
varying vec3 vNor;
varying vec3 vPos;

void main(void) {
    vPos    = aPos;
    vNor    = aNor;
    if(aVisible <= 0.0)
        gl_Position = vec4(-999.9, -999.9, -999.9, 1.0); //discard
    else
        gl_Position = uPMat * uVMat * vec4(aPos, 1.0);
}